package com.util;

import java.awt.Desktop;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class StrUtil {
	
	/******************************
	 * 功能：将IP地址转换为对应的整数
	 * 返回类型：long
	 ******************************/
	public static long getIpNum(String ip){
		long ipNum=0;
		if(ip!=null &&!ip.equals("")){
			String[] subIp=ip.split("\\.");
			for(int i=0;i<subIp.length;i++){
				ipNum=ipNum<<8;  
				ipNum+=Integer.parseInt(subIp[i]);
			}
		}
		return ipNum;
	}
	
	/******************************
	 * 功能：格式化时间为年-月-日 时-分-秒
	 * 返回类型：String
	 ******************************/
	public static String timeTostr(Date date){
		String strDate="";
		if(date!=null){
			SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			strDate=format.format(date);		
		}
		return strDate;
	}
	
	 /**********************************
     *方法名:	chStr()
     *功  能:解决输出中文乱码问题
     *返回类型：String
     ***********************************/
	public String chStr(String str){
		if(str==null){ 									//当变量str为null时
			str="";									//将变量str赋值为空
		}else{
			try{
				str=(new String(str.getBytes("iso-8859-1"),"GB2312")).trim();//将字符串转换为GBK编码
			}catch(Exception e){
				e.printStackTrace(System.err);			//输出异常信息
			}
		}
		return str;										//返回转换后的输入变量str
	}

	/***************************************************
	 *方法名:convertStr()
	 *功  能:显示文本中的回车换行、空格及保证HTML标记的正常输出
	 *返回类型:  String
	 **************************************************/
	public String convertStr(String str1){
		if(str1==null){
			str1="";
		}else{
			try{
				//replaceAll(String str1,String str2)方法为JDK1.4.x的新方法，使用str2替换字符串中的所有str2字符串
				str1=str1.replaceAll("&lt;","&lt;");//替换字符串中的"&lt;"和"&gt;"字符，保证HTML标记的正常输出
				str1=str1.replaceAll("&gt;","&gt;");
				str1=str1.replaceAll(" ","&nbsp;");
				str1=str1.replaceAll("\r\n","&lt;br&gt;");
			}catch(Exception e){
				e.printStackTrace(System.err);
			}
		}
		return str1;
	}

	/***************************************************
	 *方法名:isNumber()
	 *功  能:判断用户输入是否是数字
	 *返回类型:  boolean
	 ***************************************************/
	public boolean isNumber(String str){
		if(str=="" || "".equals(str) || str==null){
			return false;
		}
		return str.matches("[0-9]*");
	}
	
	
	public static void main(String [] args) throws URISyntaxException, IOException{
		//String str = "2010-7-1 天气晴";
		//System.out.println(new String (str.getBytes("GBK"),"gb2312"));
		//初始化时拥有的主机id
		String [] hostName = {"aa","bb","cc","dd"};
		String [] hostId = {"1","2","3","4"};
		//Desktop dk = Desktop.getDesktop();
		//URI uri=new URI("http://www.baidu.com");
		//dk.browse(uri);
		//现有数据库中对象个数
		List<String> targt = new ArrayList();
		targt.add("1");
		targt.add("2");
		targt.add("3");
		for(int i = 0;i<hostId.length;i++){
			for(int j=0;j<targt.size();j++){
				//判断内层循环是否完毕
				if(j==(targt.size()-1)){
					if(hostId[i].equals(targt.get(j))){
						System.out.println(hostName[i]+"已存在。。");
						break;
					}else{
						System.out.println("主机名 ："+hostName[i]+" 已删除");
					}
				}else{
					if(hostId[i].equals(targt.get(j))){
						System.out.println(hostName[i]+"已存在。。");
						break;
					}
				}
				
			}
		}
		
		
		
		
	}
	
	
	
}


